<?php
include_once('bd_utils.php');  // bd_utils.php est utile à messages.php uniquement pour afficher

//pas besoin de mettre session_start(); car messages.php est inclue dans message_bienvenue.php qui l'a déja


if( !empty($_SESSION['uid']) ){  	// Si l'utilisateur est connecte, alors je definie les variables
	$user = htmlentities($_SESSION['login']);    // j'affiche de façon sécurisée une chaine de caractères
	$uid = (int)$_SESSION['uid'];		// je ne met pas htmlentities à cette ligne car c'est une variable SESSION qui ne dépend pas de l'utilisateur mais de la base de données et d'un champ ou l'utilisateur n'a aucun pouvoir 
	// (int) est un cast				//C'est censé être un int, un nombre entier. Donc je vérifie la valeur entière.																
}	
else 								 // Sinon, c'est que l'utilisateur n'est pas connecté 
	header("Location: login.php");   // alors je l'envoie se connecter sur la page login.php
		

//Je teste si le formulaire est valide dans le if grâce à $_POST
if( !empty ($_POST['message'])){// dans le input name='message' donc je récupère la valeur avec $_POST['message']
								// empty comprend isset. Empty teste si c'est null, si ça n'existe pas et si ça vaut false
								
	// On ne traite le formulaire que s'il a été validé								

	// Je vérifie que le formulaire s'est bien appelé lui même	
	// Je vérifie que l'utilisateur provient bien de la page du formulaire (PHP_SELF). Je vérifie que la page précédente est égale à la page actuelle
	// Je verifie que ce referer soit valide
	$refererValide = ($_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']== $_SERVER['HTTP_REFERER']);  // HTTP_REFERER est une des cles du tableau $_SERVER
	
	// PHP_SELF donne www/message_bienvenue.php alors que HTTP_REFERER donne localhost/www/message_bienvenue.php donc les deux valeurs ne sont pas égales
	// Je concatène, je met le nom du serveur avant PHP_SELF et je le compare au REFERER						

	$db=connexion();
	$message=$_POST['message'];		// Je traite et verifie si l'user est connecté, et j'ajouter le message à la bd
	$date = get_date($db, $uid);	/* Retourne la date au format 2014-10-21 00:00:00 */
	publish_message( $db ,$uid,$message);	/* Insertion d'un message dans la base */
	
}		
				
?>

<!DOCTYPE html>

<html>
<head>
<link href="feuille_de_style.css" rel="stylesheet" type="text/css">		
</head>
	<body>	
		<div id="general">		
			<div id = "entete">
				<span> Message </span>
				<span> <a href="amis.php"> Gerer les amis </a></span>
				<span> <a href="deconnexion.php"> Se deconnecter </a></span>
			</div>			
			<div>
				<h1> Saisie d'un message </h1>
			</div>				
			<div id="saisie">
				<form method="post" action="">
				<label for="imessage">Saisir votre message</label>
				<textarea cols="90" rows="10" id="imessage" name="message"></textarea><br/>
				<input type="submit" value="Soumettre"/>
				</form>
			</div>			
			<div>
				<h1>Liste des messages </h1>
			</div>	
			
			<?php
			$db=connexion();
			$messages = retrieve_messages($db,$_SESSION['uid']); // Retourne un tableau contenant les messages d'un utilisateur et de ses amis dans un tableau SESSION
				
			foreach ( $messages as $message ) {  // boucle qui parcourt les messages  // tableau as variable // a chaque tour il donne l'élément dans message
				$authorInfo = get_authors_info($db, $message['uid']); 	// Retourne un tableau contenant le login et l'adresse e-mail d'un utilisateur
			?>			
				<div id="message" >
				Message de <?php echo htmlentities(addslashes($authorInfo['login']))?> (<a href="mailto:<?php echo htmlentities(addslashes($authorInfo['email'])); ?>"> <?php echo htmlentities(addslashes($authorInfo['email'])) ?></a>)<br/>
				<!--(<a href="mailto:ophelie@email.fr">ophelie@email.fr</a>)--> 
				
				<?php echo $message['texte'];	// message est un tableau associatif avec texte comme clé  ?> 
				</div>				
			<?php } ?>					
		</div>		
	</body>	
</html>